import Vue from 'vue'
import Router from 'vue-router'
import Login from'../components/Login.vue'
import Home from '../components/Home.vue'
import UserList from '../components/UserList.vue'
Vue.use(Router)
const router= new Router({
  // routes: [
  //  // 访问跟目录直接进入到指定的组件
  //   {path:'/',redirect:'/login'},
  //   {path:'/login',component:Login},
  //   {path:'/home',component:Home, children:[{path:'/user',component:UserList}]}
  // ]
  routes: [
   // 访问跟目录直接进入到指定的组件
    {path:'/',redirect:'/login'},
    {path:'/login',component:Login},
    {path:'/home',component:Home,
     children:[ {path:'/user',component:UserList}]}
  ]
})
//挂载路由导航守卫
router.beforeEach((to,from,next)=>{
  //to将要访问的路径
  //from 从哪个路径跳转而来
  //next 是一个函数，表示放行 next('/login')强制跳转
  if(to.path=='/login')  {return next()}
  else{
    //获取token
    const tokenStr=window.sessionStorage.getItem('token')
    //tokenStrn==null 没有登陆，需要登录
    if(!tokenStr){
      return next('/login')
     }
     next()


  }

})
//暴露Router
export default router


// export default new Router({

//    routes: [
//     // 访问跟目录直接进入到指定的组件
//      {path:'/',redirect:'/login'},
//      {path:'/login',component:Login},
//      {path:'/home',component:Home},


//   ]
// })
// import Vue from 'vue'
// import Router from 'vue-router'
// import Login from '../components/Login.vue'
// import Home from  '../components/Home.vue'
// import UserList from  '../components/UserList.vue'
// Vue.use(Router)
// const router = new Router({
//  routes: [
//    // 访问跟目录直接进入到指定的组件
//     {path:'/',redirect:'/login'},
//     {path:'/login',component:Login},
//     {path:'/home',component:Home, children:[{path:'/user',component:UserList}]}
//   ]
// })

// /**
//  * 定义路由导航守卫
//  * 参数1. to    路由跳转的网址
//  * 参数2. from  路由从哪里来
//  * 参数3. next  是一个函数,表示放行或重定向
//  *              next() 放行
//  *              next("/login") 重定向
//  * 业务实现:
//  *    核心逻辑: 检查是否有token.
//  *        如果访问login页面 直接放行.
//  *        有token 表示已经登录,放行请求
//  *        没有token 表示用户没有登录,重定向到登录页面
//  */
// //挂载路由导航守卫
// router.beforeEach((to,from,next)=>{
//   //to将要访问的路径
//   //from 从哪个路径跳转而来
//   //next 是一个函数，表示放行 next('/login')强制跳转
//   if(to.path=='/login')  return next()
//    //获取token
//    const tokenStr=window.sessionStorage.getItem('token')
//    if(!tokenStr){
//      return next('/login')
//     }
//     next()

// })

// export default router
